import request from '@/utils/request'

export function getRoutes() {
  return request({
    url: '/menu/GetMenusItem',
    method: 'get'
  })
}

export function getRoleList(roleViewModel) {
  return request({
    url: '/erole/GetRoleList',
    method: 'post',
    data: roleViewModel
  })
}

/**
 * 获取角色下面的用户信息列表
 * @param {*} data
 */
export function getRoleUserList(data) {
  return request({
    url: '/erole/GetRoleUserList',
    method: 'post',
    data
  })
}

/**
 * 获取角色关联的用户列表或者不关联的用户列表
 * @param {*} data
 */
export function getRoleUserItems(data) {
  return request({
    url: '/erole/GetRoleUserItems',
    method: 'post',
    data
  })
}

export function getAllRoleList() {
  return request({
    url: '/erole/GetAllRoleList',
    method: 'get'
  })
}

export function addRole(data) {
  return request({
    url: '/erole/AddRole',
    method: 'post',
    data
  })
}

export function updateRole(data) {
  return request({
    url: `/erole/UpdateRole`,
    method: 'post',
    data
  })
}

export function deleteRole(id) {
  return request({
    url: `/erole/deleteRole?id=` + id,
    method: 'post'
  })
}

export function getRoleUser(roleId) {
  return request({
    url: '/erole/GetRoleUser?roleId=' + roleId,
    method: 'get'
  })
}

/**
 * 为角色分配用户
 */
export function handleRoleUser(data) {
  return request({
    url: '/erole/HandleRoleUser',
    method: 'post',
    data
  })
}

/***
 * 获取角色下面的所有子节点
 */
export function getRoleSubList(id) {
  return request({
    url: '/erole/GetRoleSubList?id=' + id,
    method: 'get'
  })
}

/**
 * 分配角色弹窗获取角色列表
 */
export function getDialogRoleList() {
  return request({
    url: '/erole/GetDialogRoleList',
    method: 'get'
  })
}

/**
 * 指定搜索条件下面的用户授权
 * @param {*} data
 */
export function handleBatchRoleUser(data) {
  return request({
    url: '/erole/HandleBatchRoleUser',
    method: 'post',
    data
  })
}

/**
 * 获取角色列表，分层级，option元素
 */
export function getAllRoleListWithOptions() {
  return request({
    url: '/erole/GetAllRoleListWithOptions',
    method: 'get'
  })
}
